01
联系人系统概述
Android联系人应用架构 · ContentProvider核心概念 · 联系人数据库表结构(ContactsContract)
架构ContentProvider表结构
02
开发环境搭建
Android Studio配置 · 模拟器设置 · 项目创建与依赖管理 · 权限声明(READ/WRITE_CONTACTS)
Android Studio模拟器权限
03
ContentProvider基础
什么是ContentProvider · URI与UriMatcher · CRUD操作基础 · ContentResolver的使用
URICRUDContentResolver
04
读取联系人列表
查询ContactsContract.Contacts表 · 获取联系人ID与姓名 · CursorLoader异步加载 · 适配器展示数据
CursorLoader异步适配器
05
联系人详情展示
查询RawContacts表 · 获取电话号码(Data表) · 获取邮箱地址 · 多数据类型合并展示
RawContacts电话号码邮箱
06
添加联系人
构建ContentValues · 插入RawContacts · 插入Data表数据 · 事务处理与批量插入
ContentValues事务批量插入
07
更新联系人
更新RawContacts显示名称 · 更新电话号码 · 更新邮箱 · ContentProvider事务与同步
更新事务同步
08
删除联系人
删除RawContacts记录 · 级联删除Data表数据 · 软删除与硬删除 · 回收站机制设计思路
级联删除软删除回收站
09
联系人分组
Groups表结构 · 创建分组 · 将联系人加入分组 · 查询分组内联系人
Groups分组查询
10
联系人搜索
LIKE查询 · SearchSnippet列 · 全文搜索(FTS3/FTS4) · 搜索建议(SearchRecentSuggestionsProvider)
搜索FTSSearchSnippet
11
联系人头像
读取头像(Photo) · 保存头像到Data表 · Bitmap压缩 · Glide加载头像
头像BitmapGlide
12
联系人排序
按姓名排序(DisplayName) · 按最近联系时间排序 · 自定义排序规则 · Locale-aware排序
排序DisplayNameLocale
13
联系人去重
AggregationExceptions表 · 自动聚合规则 · 手动聚合与拆分 · 处理重复联系人
去重聚合拆分
14
联系人同步
SyncAdapter架构 · Account与Authenticator · 同步周期设置 · 处理同步冲突
SyncAdapterAccount同步
15
联系人备份与恢复
导出vCard格式 · 解析vCard文件 · 备份到本地文件 · 从云端恢复
vCard备份恢复
16
联系人快捷方式
创建快捷方式(ShortcutManager) · PinnedShortcut · 动态快捷方式更新 · 适配Android 8+
快捷方式ShortcutManagerPinned
17
联系人通知
监听联系人变化(ContentObserver) · 通知栏提醒生日/纪念日 · NotificationChannel适配
ContentObserver通知生日
18
联系人权限管理
运行时权限请求流程 · 处理权限拒绝 · 权限最佳实践 · Android 11包可见性影响
权限运行时Android 11
19
联系人UI设计
Material Design联系人列表 · RecyclerView优化 · 首字母悬浮索引 · 搜索栏动画
MaterialRecyclerView动画
20
联系人国际化
不同语言姓名格式 · 电话号码格式化(PhoneNumberUtils) · 地址本地化 · RTL布局适配
国际化PhoneNumberUtilsRTL
21
联系人快捷拨号
使用Intent拨打电话 · 检查拨号权限 · 通话记录查询(CallLog) · 快速拨号Widget
拨号CallLogWidget
22
联系人分享
分享联系人vCard · 使用Intent发送 · 生成分享二维码 · 跨应用分享
分享vCard二维码
23
联系人黑名单
自定义黑名单表 · 拦截来电与短信 · 黑名单管理UI · 系统拦截器集成
黑名单拦截来电
24
联系人标签系统
自定义标签表 · 给联系人打标签 · 按标签筛选 · 标签云展示
标签筛选标签云
25
联系人收藏夹
收藏夹表设计 · 星标联系人(STARRED) · 收藏夹快捷访问
收藏夹STARRED快捷访问
26
联系人历史记录
最近联系人表 · 通话记录关联 · 时间线展示 · 清除历史记录
历史时间线通话记录
27
联系人合并与拆分
合并重复联系人UI · 选择主联系人 · 拆分已合并联系人 · 数据一致性保证
合并拆分一致性
28
联系人导出导入
CSV格式导出 · Excel格式导出 · 批量导入联系人 · 导入进度条与错误处理
CSVExcel导入
29
联系人安全与隐私
加密存储敏感数据 · 应用锁 · 数据脱敏展示 · GDPR合规建议
加密隐私GDPR
30
联系人系统测试
单元测试(ContentProvider测试) · UI测试(Espresso) · 性能测试(Profiler) · 兼容性测试(不同厂商ROM)
单元测试Espresso兼容性